package reflect.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoRunMethod {
    /*为注解添加参数
    * 格式
    * 类型 参数名 【default 默认值】
    * 例如
    * int value();
    * 这样定义后。当前的注解就支持传入一个int行的参数
    *
    * 外面使用注解时可以这样传参
    * @AutoRunMethod(1) 此时value的参数为1
    *
    * 在定义参数的同时可以为该参数指定默认值
    * int value default 1
    * 如果指定了默认值，那么在使用该注解时就不强制填写参数，会使用默认值
    *  @AutoRunMethod(12) 此时参数为12
    *  @AutoRunMethod 此时value参数的值使用默认值1
    *
    * 注：
    *  如果注解仅定义了一个参数时。参数名尽量选择为“value” ，如果指定别的名字，那么在使用注解时会麻烦
    *  结合多个参数说明传参语法
    * @注解名(参数1=对应值，参数2=对应值)，这里参数的顺序可以与定义时的不一致
    *
    * 如果注解仅定义了一个参数时。参数名如果不叫“value”那么传参时：参数名=参数值
    * */
    int value() default 1;
   /* int age() default 22;
    String name();*/



}
